package com.caioweb.osa.dao;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.TypedQuery;

import com.caioweb.osa.modelo.Cliente;

public class ClienteDAO  implements Serializable{
	@Inject
	private EntityManager em;
	

	public List<Cliente> listaTodosComeca(String sigla){
		Query query = em.createQuery("select c from Cliente c where c.sigla like :sigla") ;
				query.setParameter("sigla", sigla + "%");
		return query.getResultList();
		
	}
	
	
	public List<Cliente> listaTodosComecaTemAmbiente(String sigla){
		Query query = em.createQuery("select c from Cliente c where c.sigla like :sigla") ;
			query.setParameter("sigla", sigla + "%");
			Iterator<Cliente> i = query.getResultList().iterator();
			List<Cliente> lista = new ArrayList<Cliente>();
			while(i.hasNext()){
				Cliente cliente =  i.next();
					if(!cliente.getAmbientes().isEmpty()){
						lista.add(cliente);
					}
			}
				
				
		return lista;
	}

	
	public Cliente procuraPorSigla(String sigla){
		TypedQuery<Cliente> query = em.createQuery("select c from Cliente c where c.sigla = :sigla",Cliente.class);
				query.setParameter("sigla", sigla);
				
	 
		try {
			return  query.getSingleResult();
		} catch (Exception e) {
			return null;
		}
		
	}
		

}
